#ifndef THREEDCUBEPLAYER_H
#define THREEDCUBEPLAYER_H

#include "DisplayableObject.h"
#include "MyMovementPosition.h"

class BaseGameEngine;

class ThreeDCubePlayer :
	public DisplayableObject
{
public:
	ThreeDCubePlayer(BaseGameEngine* pGame, int iMapX, int iMapY);

	virtual ~ThreeDCubePlayer(void);

	void Draw();
	

	void DoUpdate( int iCurrentTime );
	void SetMovementPosition( int iMoveDuration );
	static const int POSITION_OFFSET_X = 0;
	static const int POSITION_OFFSET_Y = 0;
	bool CanEnter( int iMapX, int iMapY );

private:
	/** Movement position calculator - give it start and end position and times 
	and it works out current position for the current time. 
	Notice also the MyMovementPosition class. */
	MyMovementPosition m_oMovement;

	int m_iCurrentMapX;
	/** Map Y coordinate */
	int m_iCurrentMapY;

	/** Map X coordinate */
	int m_iNextMapX;
	/** Map Y coordinate */
	int m_iNextMapY;

	/** Current movement direction */
	int m_iCurrentMoveDirection;
};

#endif
